home *** CD-ROM | disk | FTP | other *** search
Oberon Text | 1996-04-10 | 12.3 KB | 379 lines |
- Syntax10.Scn.Fnt
- Syntax10b.Scn.Fnt
- MODULE AmigaIntuition;
- IMPORT
- SYSTEM, A:=AmigaBase, e:=AmigaExec, ie := AmigaInputEvent,
- g:=AmigaGraphics, t:=AmigaTimer, u:=AmigaUtility;
- CONST
- intuitionName*="intuition.library";
- autoScroll*=14;
- windowSizing*=0;
- windowDrag*=1;
- windowDepth*=2;
- windowClose*=3;
- sizeBRight*=4;
- sizeBBottom*=5;
- refreshBits*={6,7};
- smartRefresh*={};
- simpleRefresh*=6;
- superBitMap*=7;
- otherRefresh*={6,7};
- backDrop*=8;
- reportMouse*=9;
- gimmeZeroZero*=10;
- borderless*=11;
- activate*=12;
- windowActive*=13;
- inRequest*=14;
- menuState*=15;
- rmbTrap*=16;
- noCareRefresh*=17;
- windowRefresh*=24;
- wbenchWindow*=25;
- windowTicked*=26;
- nwExtended*=18;
- visitor*=27;
- zoomed*=28;
- hasZoom*=29;
- oScanText*=1;
- waDummy*=u.user+99;
- waLeft*=waDummy+001H;
- waTop*=waDummy+002H;
- waWidth*=waDummy+003H;
- waHeight*=waDummy+004H;
- waDetailPen*=waDummy+005H;
- waBlockPen*=waDummy+006H;
- waIDCMP*=waDummy+007H;
- waFlags*=waDummy+008H;
- waGadgets*=waDummy+009H;
- waCheckmark*=waDummy+00AH;
- waTitle*=waDummy+00BH;
- waScreenTitle*=waDummy+00CH;
- waCustomScreen*=waDummy+00DH;
- waSuperBitMap*=waDummy+00EH;
- waMinWidth*=waDummy+00FH;
- waMinHeight*=waDummy+010H;
- waMaxWidth*=waDummy+011H;
- waMaxHeight*=waDummy+012H;
- waInnerWidth*=waDummy+013H;
- waInnerHeight*=waDummy+014H;
- waPubScreenName*=waDummy+015H;
- waPubScreen*=waDummy+016H;
- waPubScreenFallBack*=waDummy+017H;
- waWindowName*=waDummy+018H;
- waColors*=waDummy+019H;
- waZoom*=waDummy+01AH;
- waMouseQueue*=waDummy+01BH;
- waBackFill*=waDummy+01CH;
- waRptQueue*=waDummy+01DH;
- waSizeGadget*=waDummy+01EH;
- waDragBar*=waDummy+01FH;
- waDepthGadget*=waDummy+020H;
- waCloseGadget*=waDummy+021H;
- waBackdrop*=waDummy+022H;
- waReportMouse*=waDummy+023H;
- waNoCareRefresh*=waDummy+024H;
- waBorderless*=waDummy+025H;
- waActivate*=waDummy+026H;
- waRMBTrap*=waDummy+027H;
- waWBenchWindow*=waDummy+028H;
- waSimpleRefresh*=waDummy+029H;
- waSmartRefresh*=waDummy+02AH;
- waSizeBRight*=waDummy+02BH;
- waSizeBBottom*=waDummy+02CH;
- waAutoAdjust*=waDummy+02DH;
- waGimmeZeroZero*=waDummy+02EH;
- waMenuHelp*=waDummy+02FH;
- sizeVerify*=0;
- newSize*=1;
- refreshWindow*=2;
- mouseButtons*=3;
- mouseMove*=4;
- gadgetDown*=5;
- gadgetUp*=6;
- reqSet*=7;
- menuPick*=8;
- closeWindow*=9;
- rawKey*=10;
- reqVerify*=11;
- reqClear*=12;
- menuVerify*=13;
- newPrefs*=14;
- diskInserted*=15;
- diskRemoved*=16;
- wbenchMessage*=17;
- activeWindow*=18;
- inactiveWindow*=19;
- deltaMove*=20;
- vanillaKey*=21;
- intuiTicks*=22;
- idcmpUpdate*=23;
- menuHelp*=24;
- changeWindow*=25;
- lonelyMessage*=31;
- selectUp *= ie.lButton + ie.upPrefix;
- selectDown *= ie.lButton;
- menuUp *= ie.rButton + ie.upPrefix;
- menuDown *= ie.rButton;
- middleDown *= ie.mButton;
- middleUp *= ie.mButton + ie.upPrefix;
- altLeft *= {ie.lAlt};
- altRight *= {ie.rAlt};
- amigaLeft *= {ie.lCommand};
- amigaRight *= {ie.rCommand};
- amigaKeys *= amigaLeft + amigaRight;
- cursorUp *= 04CH;
- cursorLeft *= 04FH;
- cursorRight *= 04EH;
- cursorDown *= 04DH;
- keyCodeQ *= 010H;
- keyCodeZ *= 031H;
- keyCodeX *= 032H;
- keyCodeV *= 034H;
- keyCodeB *= 035H;
- keyCodeN *= 036H;
- keyCodeM *= 037H;
- keyCodeLess *= 038H;
- keyCodeGreater *= 039H;
- saDummy*=u.user+32;
- saLeft*=saDummy+00001H;
- saTop*=saDummy+00002H;
- saWidth*=saDummy+00003H;
- saHeight*=saDummy+00004H;
- saDepth*=saDummy+00005H;
- saDetailPen*=saDummy+00006H;
- saBlockPen*=saDummy+00007H;
- saTitle*=saDummy+00008H;
- saColors*=saDummy+00009H;
- saErrorCode*=saDummy+0000AH;
- saFont*=saDummy+0000BH;
- saSysFont*=saDummy+0000CH;
- saType*=saDummy+0000DH;
- saBitMap*=saDummy+0000EH;
- saPubName*=saDummy+0000FH;
- saPubSig*=saDummy+00010H;
- saPubTask*=saDummy+00011H;
- saDisplayID*=saDummy+00012H;
- saDClip*=saDummy+00013H;
- saOverscan*=saDummy+00014H;
- saObsolete1*=saDummy+00015H;
- saShowTitle*=saDummy+00016H;
- saBehind*=saDummy+00017H;
- saQuiet*=saDummy+00018H;
- saAutoScroll*=saDummy+00019H;
- saPens*=saDummy+0001AH;
- saFullPalette*=saDummy+0001BH;
- saInterleaved*=saDummy+00022H;
- GadgetPtr*=LONGINT;
- ImagePtr*=LONGINT;
- MenuPtr*=LONGINT;
- NewScreenPtr*=LONGINT;
- NewWindowPtr*=LONGINT;
- RequesterPtr*=LONGINT;
- ScreenPtr*=LONGINT;
- IntuiMessagePtr*=LONGINT;
- WindowPtr*=LONGINT;
- Window*=RECORD
- nextWindow*:WindowPtr;
- leftEdge*,topEdge*:INTEGER;
- width*,height*:INTEGER;
- mouseY*,mouseX*:INTEGER;
- minWidth*,minHeight*:INTEGER;
- maxWidth*,maxHeight*:INTEGER;
- flags*:SET;
- menuStrip*:MenuPtr;
- title*:LONGINT;
- firstRequest*:RequesterPtr;
- dmRequest*:RequesterPtr;
- reqCount*:INTEGER;
- wScreen*:ScreenPtr;
- rPort*:g.RastPortPtr;
- borderLeft*,borderTop*,borderRight*,borderBottom*:SHORTINT;
- borderRPort*:g.RastPortPtr;
- firstGadget*:GadgetPtr;
- parent*,descendant*:WindowPtr;
- pointer*:LONGINT;
- ptrHeight*:SHORTINT;
- ptrWidth*:SHORTINT;
- xOffset*,yOffset*:SHORTINT;
- idcmpFlags*:SET;
- userPort*:e.MsgPortPtr;
- windowPort*:e.MsgPortPtr;
- messageKey*:IntuiMessagePtr;
- detailPen*,blockPen*:SHORTINT;
- checkMark*:ImagePtr;
- screenTitle*:LONGINT;
- gzzMouseX*:INTEGER;
- gzzMouseY*:INTEGER;
- gzzWidth*:INTEGER;
- gzzHeight*:INTEGER;
- extData*:LONGINT;
- userData*:LONGINT;
- wLayer*:g.LayerPtr;
- iFont*:g.TextFontPtr;
- moreFlags*:INTEGER;
- END;
- Screen*=RECORD
- nextScreen*:ScreenPtr;
- firstWindow*:WindowPtr;
- leftEdge*,topEdge*:INTEGER;
- width*,height*:INTEGER;
- mouseY*,mouseX*:INTEGER;
- flags*:INTEGER;
- title*:LONGINT;
- defaultTitle*:LONGINT;
- barHeight*,barVBorder*,barHBorder*,menuVBorder*,menuHBorder*:SHORTINT;
- wBorTop*,wBorLeft*,wBorRight*,wBorBottom*:SHORTINT;
- font*:g.TextAttrPtr;
- viewPort*:g.ViewPort;
- rastPort*:g.RastPort;
- bitMap*:g.BitMap;
- layerInfo*:g.LayerInfo;
- firstGadget*:GadgetPtr;
- detailPen*,blockPen*:SHORTINT;
- saveColor0*:INTEGER;
- barLayer*:g.LayerPtr;
- extData*:LONGINT;
- userData*:LONGINT;
- END;
- IntuiMessage*=RECORD
- execMessage*:e.Message;
- class*:LONGINT;
- code*:INTEGER;
- qualifier*:INTEGER;
- iAddress*:LONGINT;
- mouseX*,mouseY*:INTEGER;
- time*:t.TimeVal;
- idcmpWindow*:WindowPtr;
- specialLink*:IntuiMessagePtr;
- END;
- EasyStruct*=RECORD
- size*: LONGINT;
- flags*: SET;
- title*: LONGINT;
- textFormat*: LONGINT;
- gadgetFormat*: LONGINT;
- END;
- intuiBase:LONGINT;
- intuiVersion-:INTEGER;
- PROCEDURE BeginRefresh*(window:WindowPtr);
- r:A.Regs;
- BEGIN
- r.a[0]:=window;
- A.LibCall(intuiBase,-354,r);
- END BeginRefresh;
- PROCEDURE CloseScreen*(screen:ScreenPtr);
- r:A.Regs;
- BEGIN
- r.a[0]:=SYSTEM.VAL(LONGINT,screen);
- A.LibCall(intuiBase,-66,r);
- END CloseScreen;
- PROCEDURE CloseWindow*(window:WindowPtr);
- r:A.Regs;
- BEGIN
- r.a[0]:=SYSTEM.VAL(LONGINT,window);
- A.LibCall(intuiBase,-72,r);
- END CloseWindow;
- PROCEDURE CurrentTime*(VAR seconds,micros:LONGINT);
- r:A.Regs;
- BEGIN
- r.a[0]:=SYSTEM.ADR(seconds);
- r.a[1]:=SYSTEM.ADR(micros);
- A.LibCall(intuiBase,-84,r);
- END CurrentTime;
- PROCEDURE EndRefresh*(window:WindowPtr; complete:BOOLEAN);
- r:A.Regs;
- BEGIN
- r.a[0]:=window;
- r.d[0]:=SYSTEM.VAL(LONGINT, complete);
- A.LibCall(intuiBase,-366,r);
- END EndRefresh;
- PROCEDURE OpenScreenTags*(newScreen:NewScreenPtr; VAR tagList:ARRAY OF u.TagItem):ScreenPtr;
- r:A.Regs;
- BEGIN
- r.a[0]:=newScreen;
- r.a[1]:=SYSTEM.ADR(tagList);
- A.LibCall(intuiBase,-612,r);
- RETURN SYSTEM.VAL(ScreenPtr,r.d[0]);
- END OpenScreenTags;
- PROCEDURE OpenWindowTags*(newWindow:NewWindowPtr; VAR tagList:ARRAY OF u.TagItem):WindowPtr;
- r:A.Regs;
- BEGIN
- r.a[0]:=newWindow;
- r.a[1]:=SYSTEM.ADR(tagList);
- A.LibCall(intuiBase,-606,r);
- RETURN SYSTEM.VAL(WindowPtr,r.d[0]);
- END OpenWindowTags;
- PROCEDURE ScreenToFront*(screen:ScreenPtr);
- r:A.Regs;
- BEGIN
- r.a[0]:=SYSTEM.VAL(LONGINT,screen);
- A.LibCall(intuiBase,-252,r);
- END ScreenToFront;
- PROCEDURE ClearPointer*(win:WindowPtr);
- r:A.Regs;
- BEGIN
- r.a[0]:=win;
- A.LibCall(intuiBase,-60,r);
- END ClearPointer;
- PROCEDURE LockPubScreen*(name:LONGINT):ScreenPtr;
- r:A.Regs;
- BEGIN
- r.a[0]:=name;
- A.LibCall(intuiBase,-510,r);
- RETURN r.d[0];
- END LockPubScreen;
- PROCEDURE SetPointer*(win:WindowPtr; ptr:LONGINT; h,w,dx,dy:INTEGER);
- r:A.Regs;
- BEGIN
- r.a[0]:=win;
- r.a[1]:=ptr;
- r.d[0]:=h;
- r.d[1]:=w;
- r.d[2]:=dx;
- r.d[3]:=dy;
- A.LibCall(intuiBase,-270,r);
- END SetPointer;
- PROCEDURE ShowTitle*(screen:ScreenPtr; showIt:BOOLEAN);
- r:A.Regs;
- BEGIN
- r.a[0]:=SYSTEM.VAL(LONGINT,screen);
- IF showIt THEN r.d[0]:=-1; ELSE r.d[0]:=0; END;
- A.LibCall(intuiBase,-282,r);
- END ShowTitle;
- PROCEDURE UnlockPubScreen*(name:LONGINT; screen:ScreenPtr);
- r:A.Regs;
- BEGIN
- r.a[0]:=name;
- r.a[1]:=screen;
- A.LibCall(intuiBase,-516,r);
- END UnlockPubScreen;
- PROCEDURE CallEasyRequest*(win: WindowPtr; Flags: SET; title, text, gadget: ARRAY OF CHAR): LONGINT;
- r:A.Regs;
- s: EasyStruct;
- BEGIN
- s.size:=SIZE(EasyStruct);
- s.flags:=Flags;
- s.title:=SYSTEM.ADR(title);
- s.textFormat:=SYSTEM.ADR(text);
- s.gadgetFormat:=SYSTEM.ADR(gadget);
- r.a[0]:=win;
- r.a[1]:=SYSTEM.ADR(s);
- r.a[2]:=0;
- r.a[3]:=0;
- A.LibCall(intuiBase,-588,r);
- RETURN r.d[0];
- END CallEasyRequest;
- PROCEDURE Init;
- LibraryPtr=POINTER TO e.Library;
- lib:LibraryPtr;
- BEGIN
- intuiBase:=e.OpenLibrary(intuitionName,37);
- IF intuiBase=0 THEN HALT(99) END;
- lib:=SYSTEM.VAL(LibraryPtr,intuiBase);
- intuiVersion:=lib.version;
- END Init;
- BEGIN
- Init;
- END AmigaIntuition.
-